// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package com.handmark.pulltorefresh.library;
import android.content.Context;
import android.content.res.TypedArray;
import android.util.AttributeSet;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ListAdapter;
import android.widget.ListView;
import com.handmark.pulltorefresh.library.internal.LoadingLayout;
// Referenced classes of package com.handmark.pulltorefresh.library:
// PullToRefreshAdapterViewBase, o, LoadingLayoutProxy, n
public class PullToRefreshListView extends PullToRefreshAdapterViewBase
{
private LoadingLayout m;
private LoadingLayout n;
private FrameLayout o;
private boolean p;
public PullToRefreshListView(Context context)
{
super(context);
}
public PullToRefreshListView(Context context, AttributeSet attributeset)
{
super(context, attributeset);
}
public PullToRefreshListView(Context context, PullToRefreshBase.Mode mode)
{
super(context, mode);
}
public PullToRefreshListView(Context context, PullToRefreshBase.Mode mode, PullToRefreshBase.AnimationStyle animationstyle)
{
super(context, mode, animationstyle);
}
static FrameLayout a(PullToRefreshListView pulltorefreshlistview)
{
return pulltorefreshlistview.o;
}
protected ListView createListView(Context context, AttributeSet attributeset)
{
if (android.os.Build.VERSION.SDK_INT >= 9)
{
return new o(this, context, attributeset);
} else
{
return new InternalListView(context, attributeset);
}
}
protected LoadingLayoutProxy createLoadingLayoutProxy(boolean flag, boolean flag1)
{
LoadingLayoutProxy loadinglayoutproxy = super.createLoadingLayoutProxy(flag, flag1);
if (p)
{
PullToRefreshBase.Mode mode = getMode();
if (flag && mode.showHeaderLoadingLayout())
{
loadinglayoutproxy.addLayout(m);
}
if (flag1 && mode.showFooterLoadingLayout())
{
loadinglayoutproxy.addLayout(n);
}
}
return loadinglayoutproxy;
}
protected volatile View createRefreshableView(Context context, AttributeSet attributeset)
{
return createRefreshableView(context, attributeset);
}
protected ListView createRefreshableView(Context context, AttributeSet attributeset)
{
ListView listview = createListView(context, attributeset);
listview.setId(0x102000a);
return listview;
}
public final PullToRefreshBase.Orientation getPullToRefreshScrollDirection()
{
return PullToRefreshBase.Orientation.VERTICAL;
}
protected void handleStyledAttributes(TypedArray typedarray)
{
super.handleStyledAttributes(typedarray);
p = typedarray.getBoolean(14, true);
if (p)
{
android.widget.FrameLayout.LayoutParams layoutparams = new android.widget.FrameLayout.LayoutParams(-1, -2, 1);
FrameLayout framelayout = new FrameLayout(getContext());
m = createLoadingLayout(getContext(), PullToRefreshBase.Mode.PULL_FROM_START, typedarray);
m.setVisibility(8);
framelayout.addView(m, layoutparams);
((ListView)l).addHeaderView(framelayout, null, false);
o = new FrameLayout(getContext());
n = createLoadingLayout(getContext(), PullToRefreshBase.Mode.PULL_FROM_END, typedarray);
n.setVisibility(8);
o.addView(n, layoutparams);
if (!typedarray.hasValue(13))
{
setScrollingWhileRefreshingEnabled(true);
}
}
}
protected void onRefreshing(boolean flag)
{
ListAdapter listadapter = ((ListView)l).getAdapter();
if (p && getShowViewWhileRefreshing() && listadapter != null && !listadapter.isEmpty()) goto _L2; else goto _L1
_L1:
super.onRefreshing(flag);
_L4:
return;
_L2:
LoadingLayout loadinglayout;
LoadingLayout loadinglayout1;
LoadingLayout loadinglayout2;
int i;
int j;
super.onRefreshing(false);
switch (n.a[getCurrentMode().ordinal()])
{
default:
LoadingLayout loadinglayout3 = getHeaderLayout();
LoadingLayout loadinglayout4 = m;
LoadingLayout loadinglayout5 = n;
j = getScrollY() + getHeaderSize();
loadinglayout = loadinglayout3;
loadinglayout1 = loadinglayout4;
loadinglayout2 = loadinglayout5;
i = 0;
break;
case 1: // '\001'
case 2: // '\002'
break; /* Loop/switch isn't completed */
}
_L5:
loadinglayout.reset();
loadinglayout.hideAllViews();
loadinglayout2.setVisibility(8);
loadinglayout1.setVisibility(0);
loadinglayout1.refreshing();
if (flag)
{
disableLoadingLayoutVisibilityChanges();
setHeaderScroll(j);
((ListView)l).setSelection(i);
smoothScrollTo(0);
return;
}
if (true) goto _L4; else goto _L3
_L3:
loadinglayout = getFooterLayout();
loadinglayout1 = n;
loadinglayout2 = m;
i = -1 + ((ListView)l).getCount();
j = getScrollY() - getFooterSize();
goto _L5
if (true) goto _L4; else goto _L6
_L6:
}
protected void onReset()
{
int i;
int j;
i = 0;
j = 1;
if (!p)
{
super.onReset();
return;
}
n.a[getCurrentMode().ordinal()];
JVM INSTR tableswitch 1 2: default 48
// 1 158
// 2 158;
goto _L1 _L2 _L2
_L1:
LoadingLayout loadinglayout4 = getHeaderLayout();
LoadingLayout loadinglayout5 = m;
int k1 = -getHeaderSize();
LoadingLayout loadinglayout;
LoadingLayout loadinglayout1;
int k;
int l;
int i1;
int j1;
LoadingLayout loadinglayout2;
LoadingLayout loadinglayout3;
if (Math.abs(((ListView)this.l).getFirstVisiblePosition() - 0) > j)
{
j = 0;
}
i1 = j;
j1 = k1;
loadinglayout2 = loadinglayout5;
loadinglayout3 = loadinglayout4;
_L4:
if (loadinglayout2.getVisibility() == 0)
{
loadinglayout3.showInvisibleViews();
loadinglayout2.setVisibility(8);
if (i1 != 0 && getState() != PullToRefreshBase.State.MANUAL_REFRESHING)
{
((ListView)this.l).setSelection(i);
setHeaderScroll(j1);
}
}
super.onReset();
return;
_L2:
loadinglayout = getFooterLayout();
loadinglayout1 = n;
k = -1 + ((ListView)this.l).getCount();
l = getFooterSize();
if (Math.abs(((ListView)this.l).getLastVisiblePosition() - k) <= j)
{
i1 = j;
} else
{
i1 = 0;
}
i = k;
j1 = l;
loadinglayout2 = loadinglayout1;
loadinglayout3 = loadinglayout;
if (true) goto _L4; else goto _L3
_L3:
}
private class InternalListView extends ListView
implements EmptyViewMethodAccessor
{
final PullToRefreshListView a;
private boolean b;
protected void dispatchDraw(Canvas canvas)
{
try
{
super.dispatchDraw(canvas);
return;
}
catch (IndexOutOfBoundsException indexoutofboundsexception)
{
indexoutofboundsexception.printStackTrace();
}
}
public boolean dispatchTouchEvent(MotionEvent motionevent)
{
boolean flag;
try
{
flag = super.dispatchTouchEvent(motionevent);
}
catch (IndexOutOfBoundsException indexoutofboundsexception)
{
indexoutofboundsexception.printStackTrace();
return false;
}
return flag;
}
public volatile void setAdapter(Adapter adapter)
{
setAdapter((ListAdapter)adapter);
}
public void setAdapter(ListAdapter listadapter)
{
if (PullToRefreshListView.a(a) != null && !b)
{
addFooterView(PullToRefreshListView.a(a), null, false);
b = true;
}
super.setAdapter(listadapter);
}
public void setEmptyView(View view)
{
a.setEmptyView(view);
}
public void setEmptyViewInternal(View view)
{
super.setEmptyView(view);
}
public InternalListView(Context context, AttributeSet attributeset)
{
a = PullToRefreshListView.this;
super(context, attributeset);
b = false;
}
}
}